/*
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

 *(C) Copyright 2006 Marvell International Ltd.  
 * All Rights Reserved 
 */

/**
**  FILENAME:       xllp_mfp_rm.h
**
**  PURPOSE: Contains the ID constants definitions for the XLLP MFP Resource 
**           Manager and the XLLP module MFP RM IDs.  The structure typedefs  
**           and function prototypes are located in xllp_mfp_proc.h.  
**           - OS module MFP RM IDs shall not be defined here.
**                  
**                  
******************************************************************************/

#ifndef __XLLP_MFP_RM_H__
#define __XLLP_MFP_RM_H__


// Note: All values < XLLP_MFP_RM_ID_XLLP_MIN are reserved for internal
//       MFP RM usage.

// General definitions: these limits are for 8-bit IDs.

#define XLLP_MFP_RM_ID_XLLP_BASE        0x10
#define XLLP_MFP_RM_ID_XLLP_MAX         0x8F
#define XLLP_MFP_RM_ID_OS_BASE          0x90
#define XLLP_MFP_RM_ID_OS_MAX           0xFF
#define XLLP_MFP_RM_ID_MAX              0xFF

//
// Special case IDs: must be < XLLP_MFP_RM_ID_XLLP_BASE
//

        // This ID is for use only by power management modules.
        //  It may be used by both XLLP PM SW and OS level PM SW.
        //  It is not logged as pin owner, and can never fail the 
        //  ownership conflict test.
        // Te reason is that PM modules must be able to touch certain bit 
        //  fields of many pins that are owned during normal operation by 
        //  other modules

#define XLLP_MFP_RM_ID_PM               0x0F

//

#define XLLP_MFP_RM_ID_XLLP_CIF         XLLP_MFP_RM_ID_XLLP_BASE+0x00
#define XLLP_MFP_RM_ID_XLLP_FLASH       XLLP_MFP_RM_ID_XLLP_BASE+0x01
#define XLLP_MFP_RM_ID_XLLP_I2C         XLLP_MFP_RM_ID_XLLP_BASE+0x02
#define XLLP_MFP_RM_ID_XLLP_I2S         XLLP_MFP_RM_ID_XLLP_BASE+0x03
#define XLLP_MFP_RM_ID_XLLP_ICP         XLLP_MFP_RM_ID_XLLP_BASE+0x04
#define XLLP_MFP_RM_ID_XLLP_KEYPAD      XLLP_MFP_RM_ID_XLLP_BASE+0x05
#define XLLP_MFP_RM_ID_XLLP_LCD         XLLP_MFP_RM_ID_XLLP_BASE+0x06
#define XLLP_MFP_RM_ID_XLLP_MINILCD     XLLP_MFP_RM_ID_XLLP_BASE+0x07
#define XLLP_MFP_RM_ID_XLLP_MMC         XLLP_MFP_RM_ID_XLLP_BASE+0x08
#define XLLP_MFP_RM_ID_XLLP_MSL         XLLP_MFP_RM_ID_XLLP_BASE+0x09
#define XLLP_MFP_RM_ID_XLLP_PM          XLLP_MFP_RM_ID_XLLP_BASE+0x0A
#define XLLP_MFP_RM_ID_XLLP_SSP         XLLP_MFP_RM_ID_XLLP_BASE+0x0B
#define XLLP_MFP_RM_ID_XLLP_UART        XLLP_MFP_RM_ID_XLLP_BASE+0x0C
#define XLLP_MFP_RM_ID_XLLP_UDC         XLLP_MFP_RM_ID_XLLP_BASE+0x0D
#define XLLP_MFP_RM_ID_XLLP_USBH        XLLP_MFP_RM_ID_XLLP_BASE+0x0E
#define XLLP_MFP_RM_ID_XLLP_USBOTG      XLLP_MFP_RM_ID_XLLP_BASE+0x0F
#define XLLP_MFP_RM_ID_XLLP_ETH         XLLP_MFP_RM_ID_XLLP_BASE+0x10
#define XLLP_MFP_RM_ID_XLLP_AC97        XLLP_MFP_RM_ID_XLLP_BASE+0x11
#define XLLP_MFP_RM_ID_XLLP_FFUART 	XLLP_MFP_RM_ID_XLLP_BASE+0x12
#define XLLP_MFP_RM_ID_XLLP_BTUART 	XLLP_MFP_RM_ID_XLLP_BASE+0x13
#define XLLP_MFP_RM_ID_XLLP_STUART 	XLLP_MFP_RM_ID_XLLP_BASE+0x14
#define XLLP_MFP_RM_ID_XLLP_PCCARD	XLLP_MFP_RM_ID_XLLP_BASE+0x15 
#define XLLP_MFP_RM_ID_XLLP_TRUE_IDE 	XLLP_MFP_RM_ID_XLLP_BASE+0x16
#define XLLP_MFP_RM_ID_XLLP_ONEWIRE	XLLP_MFP_RM_ID_XLLP_BASE+0x17



#endif // __XLLP_MFP_RM_H__


